#if !defined(DAEMON_SUB_PROCESS_H)
#define DAEMON_SUB_PROCESS_H
#include <sys/types.h>

#define MAX_FAIL_COUNT 10
#define EXE_NAME "/usr/bin/gateway" // 正式使用
//#define EXE_NAME "/home/tc/workspace/gateway/gateway_test" // 测试使用

// 被守护的子进程信息结构体
typedef struct
{
  pid_t pid; // 子进程的pid
  char *cmd_param; // 运行子进程的命令参数 app|ota
  int fail_count; // 失败(非正常退出)的次数
} SubProcess;

/**
* 初始化子进程
*/
SubProcess *daemon_sub_process_init(char *cmd_param);

/**
* 查检并启动子进程
*/
int daemon_sub_process_checkStart(SubProcess *sub_process);

/**
* 结束子进程
*/
void daemon_sub_process_exit(SubProcess *sub_process);

#endif // DAEMON_SUB_PROCESS_H
